<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script>
        //1、利用字面量创建对象{}
        // var obj={};  //创建了一个空对象
        var obj = {
            uname: '张三',
            age: 18,
            sex: '男',
            sayHi: function () {
                console.log('hi~');
            }
        }
        //调用对象属性的第一种方法
        console.log(obj.uname);
        //调用对象属性的第二种方法
        console.log(obj['age']);
        //调用对象的的方法  千万有小括号
        obj.sayHi();


        //2、利用new object创建对象
        //相当于创建了一个空对象，后面再为它添加属性和方法
        var obj = new Object();
        obj.uname = '李四';
        obj.age = 21;
        obj.sex = '女';
        obj.sayHi = function () {
            console.log('hi~');
        }


        //3、利用构造函数创建对象
        //new构造函数
        //在内存中创建一个空对象
        //通过this指向刚才创建的空对象
        //执行构造函数内部的代码，为空对象添加属性和方法
        function Create(uname,age,sex){
            this.name=uname;
            this.age=age;
            this.sex=sex;
        }
        var ldh = new Create('刘德华',41,'男');
        console.log(ldh.name);
        //for in 遍历对象
        for(var i in ldh){
            console.log(ldh[i]);
        }
    </script>
</head>

<body>

</body>

</html>